Plotly's Python graphing library makes interactive, publication-quality graphs. This graph is scatter plots. Scatter plots with variable-sized circular markers are often known as bubble charts.
An introduction to Plotly.

| index | type |
|---|---|
| 1 | matplotlib |
| 2 | plotly |
| 3 | seaborn |
import plotly.express as px
import plotly
plotly.offline.init_notebook_mode()
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species",
size='petal_length', hover_data=['petal_width'])
fig.show()